#!/usr/bin/env python3
"""
调试启动脚本
"""

import sys
import os
from pathlib import Path

print("=== 调试启动信息 ===")
print(f"当前工作目录: {os.getcwd()}")
print(f"Python版本: {sys.version}")
print(f"Python路径: {sys.executable}")
print()

# 添加项目根目录到Python路径
project_root = Path(__file__).parent
print(f"项目根目录: {project_root}")
sys.path.insert(0, str(project_root))

print("=== 测试导入 ===")

try:
    print("1. 测试PyQt5导入...")
    from PyQt5.QtWidgets import QApplication
    print("   ✓ PyQt5.QtWidgets 导入成功")
except ImportError as e:
    print(f"   ✗ PyQt5.QtWidgets 导入失败: {e}")
    print("   解决方案: 请确保已安装PyQt5，运行: pip install PyQt5==5.15.10")

try:
    print("2. 测试SQLAlchemy导入...")
    import sqlalchemy
    print(f"   ✓ SQLAlchemy 导入成功，版本: {sqlalchemy.__version__}")
except ImportError as e:
    print(f"   ✗ SQLAlchemy 导入失败: {e}")

try:
    print("3. 测试数据库模块导入...")
    from src.app.database import get_database_manager
    print("   ✓ 数据库模块导入成功")
except ImportError as e:
    print(f"   ✗ 数据库模块导入失败: {e}")

try:
    print("4. 测试UI模块导入...")
    from src.app.ui.main_window import MainWindow
    print("   ✓ UI模块导入成功")
except ImportError as e:
    print(f"   ✗ UI模块导入失败: {e}")

print("\n=== 尝试创建应用程序 ===")

try:
    app = QApplication(sys.argv)
    print("✓ QApplication 创建成功")
    
    print("✓ 所有组件导入成功，可以启动主程序")
    
except Exception as e:
    print(f"✗ 应用程序创建失败: {e}")

print("\n=== 建议的启动命令 ===")
print("方法1: 使用批处理文件")
print("   run.bat")
print()
print("方法2: 手动激活虚拟环境并运行")
print("   .venv\\Scripts\\activate")
print("   python src\\main.py")
print()
print("方法3: 直接使用虚拟环境Python")
print("   .venv\\Scripts\\python.exe src\\main.py")